const express = require('express');
const router = express.Router();
const Tags = require('../../../controller/client/tag-controller');

/**
 * 创建 - 创建标签
 * @route POST /api/private/tags/create
 * @group 标签管理 - 创建
 * @param {string} tagName - 标签名称
 * @param {boolean} state - 标签状态
 * @param {string} tagDesc - 标签描述
 * @returns {object} 200 - 用户信息
 * @returns {object} 605 - 请求失败错误
 * @returns {Error}  default - Unexpected error
 */
router.post('/create', Tags.create);

/**
 * 查询 - 查询标签
 * @route POST /api/private/tags/list
 * @group 标签管理 - 查询
 * @param {object} query - 请按固定查询规范
 * @returns {object} 200 - 用户信息
 * @returns {object} 605 - 请求失败错误
 * @returns {Error}  default - Unexpected error
 */
router.post('/list', Tags.findAll);

/**
 * 查询 - 查询单个标签
 * @route POST /api/private/tags/findOne
 * @group 标签管理 - 查询
 * @param {string} id - 主键
 * @returns {object} 200 - 用户信息
 * @returns {object} 605 - 请求失败错误
 * @returns {Error}  default - Unexpected error
 */
router.post('/findOne', Tags.findOne);

/**
 * 更新 - 更新标签
 * @route POST /api/private/tags/update
 * @group 标签管理 - 更新
 * @param {string} id - 主键
 * @param {string} tagName - 标签名称
 * @param {boolean} state - 标签状态
 * @param {string} tagDesc - 标签描述
 * @returns {object} 200 - 用户信息
 * @returns {object} 605 - 请求失败错误
 * @returns {Error}  default - Unexpected error
 */
router.post('/update', Tags.update);

/**
 * 删除 - 删除标签
 * @route POST /api/private/tags/delete
 * @group 标签管理 - 删除
 * @param {string} id - 主键
 * @returns {object} 200 - 用户信息
 * @returns {object} 605 - 请求失败错误
 * @returns {Error}  default - Unexpected error
 */
router.post('/delete', Tags.delete);

/**
 * 删除 - 删除全部标签信息
 * @route POST /api/private/tags/deleteAll
 * @group 标签管理 - 删除全部
 * @returns {object} 200 - 用户信息
 * @returns {object} 605 - 请求失败错误
 * @returns {Error}  default - Unexpected error
 */
router.post('/deleteAll', Tags.deleteAll);

module.exports = router;